/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.common.core.auth.client.helper;

import com.medusa.gruul.common.core.auth.client.context.VersionContextHolder;
import com.medusa.gruul.common.core.auth.model.User;
import com.medusa.gruul.common.core.auth.model.UserExtends;
import com.medusa.gruul.common.dto.CurMiniUserInfoDto;
import com.medusa.gruul.common.dto.CurUserDto;

/**
 * 兼容老版本工具类
 * @author 张治保
 * date 2021/12/3
 */
public class CurUserHelper {
    private CurUserHelper() {
    }

    /**
     * 新用户体系 兼容老版本
     */
    public static CurUserDto newAuthUser() {
        User user = ISecurity.user().can();
        CurUserDto curUser = null;
        if (user != null) {
            curUser = new CurUserDto();
            curUser.setUserId(user.getShopUserId());
            curUser.setUserType(ISecurity.platform().must().getValue());
            curUser.setShopId(user.getShopId());
            curUser.setVersion(VersionContextHolder.get());
            curUser.setNikeName(user.getNickname());
            curUser.setAvatarUrl(user.getAvatar());
            curUser.setGender(user.getGender().getValue());
            UserExtends userExtends = ISecurity.userExtends().can();
            if (userExtends != null){
                curUser.setOpenId(userExtends.getStr("openId"));
            }
        }
        return curUser;
    }

    public static CurMiniUserInfoDto newAuthMiniUser() {
        User user = ISecurity.user().can();
        CurMiniUserInfoDto curUser = null;
        if (user != null){
            curUser = new CurMiniUserInfoDto();
            curUser.setShopUserId(user.getShopUserId());
        }
        return curUser;
    }
}
